$(function(){
    obj.init();
});

var obj = new JsFun();
function JsFun(){
    'use strict';
    return {
        params: {
            groupId: null
        },
        dom: {
            tree: null
        },
        form: null,
        init: function () {
            this.params.groupId = xhTool.getQuery('groupId');
            this.dom.tree       = $('.tree-view-menu-list');
            this.form           = new xhForm($('#form_group_power'));

            this.listener();
            // this.funObj().dealCheckboxStatus();
        },
        listener: function () {
            var $this = this;
            //展开子节点
            $this.dom.tree.find('.openable a').click(function()	{
                var parentElm = $(this).parent();
                parentElm.toggleClass('open');
                parentElm.children('.subtree').slideToggle(200);
                return false;
            });
            //点击后重新处理子节点是否禁用
            // $this.dom.tree.find('li > :checkbox').click(function(){
            //     $this.dom.tree.find(':checkbox').attr('disabled', false);
            //     $this.funObj().dealCheckboxStatus();
            // });
            //选中子节点的权限后，父节点相应权限也勾选
            // $this.dom.tree.find('li > label > :checkbox').click(function(){
            //     var powerName = $(this).parent().text();
            //     $(this).parents('li:eq(1)').find(' > label:contains('+ powerName +') > :checkbox').prop('checked', true);
            // });
            //提交权限
            $('#bt_save_power').click(function() {
                $this.funObj().savePower();
            });
            //扩展权限
            $this.dom.tree.find('a[extra]')
                .addClass('btn btn-info btn-sm')
                .css({
                    'line-height' : '10px',
                    'height'      : '20px',
                    'margin-top'  : '10px',
                    'padding-top' : '4px'
                }).click(function(){
                    var extraUrl  = $(this).attr('extra') + ($(this).attr('extra').indexOf('?') >= 0 ? '&' : '?') + 'goal=2&goalId=' + $this.params.groupId;
                    var extraName = $(this).closest('li').find('> a:first').text() + '扩展权限';
                    window.top.xhTop.showModal({
                        title: extraName,
                        content: '<iframe frameborder="0" style="width:100%;height:500px;" src="'+ extraUrl +'"></iframe>',
                        // button: '确定',
                        button: true,
                        size: 'lg'
                    });
                });
        },
        funObj: function(){
            var $this = this;
            return {
                dealCheckboxStatus: function() {
                    $this.dom.tree.find('li').each(function(){
                        if(!$(this).find(':checkbox:first').prop('checked')){
                            $(this).find(':checkbox:gt(0)').attr('disabled' ,true);
                        }
                    });
                },
                savePower: function() {
                    $this.form.submit(baseUrl + 'Group/saveGroupPower', {groupId: $this.params.groupId}, function(result) {
                        if (xhExtra.checkError(result)) return false;
                        window.top.xhTop.showSuccess(result.msg);
                        window.top.xhTop.closeActiveTab();
                    })
                }
            }
        }
    }
}
